/**
 * 安卓白金英雄坛制作组 <br>
 * 文件名：LookScreen.java <br>
 * 创建时间：2013-8-24 下午10:42:26 <br>
 * 所属项目：GmudEX <br>
 * @author 12548 <br>
 */
package lostland.gmud.exv2.ui;

import lostland.gmud.exv2.FontSize;
import lostland.gmud.exv2.Gmud;
import lostland.gmud.exv2.blgframework.impl.BLGGraphics;
import lostland.gmud.exv2.data.Item;
import lostland.gmud.exv2.data.Npc;
import lostland.gmud.exv2.data.Room;
import lostland.gmud.exv2.ui.core.DialogScreen;

/**
 * 类名：WinScreen <br>
 * 说明：胜利屏
 *
 * @author 12548
 */
public class WinScreen extends DialogScreen {

	String s;
	BLGGraphics g = (BLGGraphics) getGame().getGraphics();

	final int stonenpc[] = {47, 58, 80, 94, 101, 110};

	/**
	 * @param enemyid 战胜敌人的编号。
	 */
	public WinScreen(int enemyid) {
		super();
		final Npc enemy = Gmud.getNpc(enemyid);

		__border = new WinBorder();
		s = "大获全胜！";


		if (!enemy.haveFlag(Npc.FLAG_NODROP)) {
			s += "\n你获得了：\n金钱：" + enemy.gold + "\n物品：";
			Gmud.mc.earnMoney(enemy.gold);
			for (Item itm : enemy.inventory) {
				if (Item.notNull(itm) && itm.getId() != Item.TRIANGLE_INDEX) {
					while(itm.drop_rate > 0){
						if(itm.drop_rate >= 100){
							itm.drop_rate -= 100;

							final Item item = Item.generateItem(itm.getTemplate(), Gmud.mc.luckness);
							if (item.getKind() == Room.ITMTYPE_WEAPON || item.getKind() == Room.ITMTYPE_EQUIPMENT) {
								item.randomUpdate((int) (itm.ex_level * 0.016 * Gmud.rand.nextInt(Gmud.mc.luckness)));
							}
							if (Gmud.mc.give(item)) {
								s += item.getName() + " ";
							}
						}
						else{
							if(Gmud.rand.nextInt(100) >= itm.drop_rate){
								final Item item = Item.generateItem(itm.getTemplate(), Gmud.mc.luckness);
								if (item.getKind() == Room.ITMTYPE_WEAPON || item.getKind() == Room.ITMTYPE_EQUIPMENT) {
									item.randomUpdate((int) (itm.ex_level * 0.016 * Gmud.rand.nextInt(Gmud.mc.luckness)));
								}
								if (Gmud.mc.give(item)) {
									s += item.getName() + " ";
								}
							}

							break;
						}

					}

				}
			}


			for (int i = 0; i < 6; i++) {
				if (getGame().data.hasstone[i] && enemyid == stonenpc[i]) {
					getGame().data.hasstone[i] = false;
					Gmud.mc.force_give(Item.TRIANGLE_INDEX);
					s += "三角石板";
					break;
				}
			}

		}

//		if(GmudGame.getInstance().adCooldown)
//			game.getHandler().obtainMessage(888).sendToTarget();


	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.ui.DialogScreen#onTouchDown(int, int)
	 */
	@Override
	protected void onTouchDown(int tx, int ty) {
	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.ui.DialogScreen#onTouchMove(int, int)
	 */
	@Override
	protected void onTouchMove(int tx, int ty) {
	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.ui.DialogScreen#onTouchUp(int, int)
	 */
	@Override
	protected void onTouchUp(int tx, int ty) {
	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.ui.DialogScreen#onClick(int, int)
	 */
	@Override
	protected void onClick(int tx, int ty) {
		onCancel();
	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.ui.DialogScreen#onCancel()
	 */
	@Override
	public void onCancel() {
		getGame().popToRootScreen();
	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.blgframework.CScreen#present(float)
	 */
	@Override
	public void present(float deltaTime) {
		__border.draw();
		g.drawText(s, __border.x + 2, __border.y + 2, FontSize.FT_12PX, 180);
	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.blgframework.CScreen#pause()
	 */
	@Override
	public void pause() {
	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.blgframework.CScreen#resume()
	 */
	@Override
	public void resume() {
	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.blgframework.CScreen#dispose()
	 */
	@Override
	public void dispose() {
	}

	/* （非 Javadoc）
	 * @see lostland.gmud.exv2.ui.core.DialogScreen#isStable()
	 */
	@Override
	public boolean isStable() {
		return false;
	}

}
